当前位置: 首页 > news >正文

Python Flask框架入门_3.通过token认证验证API的访问权限(数据库版本)

在MYSQL数据库day20中创建user表,表结构如下所示:

image

将用户的token和name写入到数据库表user中:

image

将原本代码迭代为从数据库中读取授权码,验证API的访问权限:

import hashlib
import pymysql
from flask import Flask, request, jsonify
app = Flask(__name__)# 连接MySQL,执行SQL查询语句,返回结果
def fetch_one(sql,params):conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='rootpassword', charset="utf8", db='day20')cursor = conn.cursor()#cursor.execute("select * from user where token=%s", [token, ])cursor.execute(sql, params)result = cursor.fetchone()cursor.close()conn.close()print("result", result)return result@app.route("/bili", methods=["POST"])
def bili():"""请求URL中携带/bili?token=...请求的数据格式要求:{ "ordered_string":"......" }:return:"""# 1.token是否为空token = request.args.get("token")print("token", token)if not token:return jsonify({"status":False , 'error':"认证失败"})# 从数据库表中读取授权码的情况# 连接MYSQL执行命令,验证token是否合法result = fetch_one("select * from user where token=%s", [token, ])if not result:return jsonify({"status": False, "error": "认证失败"})ordered_string = request.json.get("ordered_string")if not ordered_string:return jsonify({"status": False, "error": "参数错误"})# 调用核心算法,生成sign签名encrypt_string = ordered_string + "560c52ccd288fed045859ed18bffd973"obj = hashlib.md5(encrypt_string.encode('utf-8'))sign = obj.hexdigest()# 返回签名return jsonify({"status": True, "data": sign})if __name__ == '__main__':app.run(host="127.0.0.1",port=5000)

通过postman对编码进行测试:

image

http://www.hskmm.com/?act=detail&tid=301

相关文章:

  • 港科 Tower A 宿舍凝水之谜
  • Transformer 模型(能理解“句子顺序”和“上下文”的神经网络架构)
  • 题解:P3546 [POI 2012] PRE-Prefixuffix
  • 自然语言处理(NLP)发展脉络
  • 错误报警:“该 CPU 或当前的库版本不支持数据类型”
  • redis各种数据类型
  • 关于 cnpm 的安装
  • 剖析“YOLO”哈希构造的安全隐患与正确替代方案
  • Charles实战秘籍:弱网模拟、Map Local/Remote、HTTPS抓包详解
  • BOE(京东方)“照亮成长路”公益项目走进富平县 科技赋能教育树立可持续发展新标杆
  • 9月23日周二《AI+企业IP获客联盟峰会》,相约东莞厚街富盈酒店
  • 第一次作业 自我介绍+软工5问
  • 深度学习调参新思路:Hyperband早停机制提升搜索效率
  • K8S Ingress 和 Service的作用?
  • Nginx 配置详解:从基础到进阶
  • Nginx 基础
  • 零成本搭建企业系统:五款免费低代码平台推荐
  • 软件工程第一次作业-自我介绍
  • 通过pip的配置文件,来永久设置国内源‌
  • 软工第一次作业
  • .NET 单文件程序详解:从原理到实践 - C#混淆加密大师解包打包单文件程序
  • 用夏普比例和卡玛比率评估基金的性价比
  • 漏洞解析--CSRF
  • 0828-今日热点列表 - jobleap4u.com
  • 第一篇随笔
  • Rust/C/C++ 混合构建 - Buck2构建工具一探究竟
  • CF1404D Game of Pairs
  • Office支持终止:如何防止宏灾难
  • Linux运维-字符处理(1、文件查看)
  • UG NX保姆级下载图文安装教程+激活教程(UG NX 2506安装教程及激活教程)